package com.youlin.service;

import com.youlin.dto.*;
import com.youlin.dto.req.EditAMReqDto;
import com.youlin.dto.req.FindAllAmReqDto;
import com.youlin.dto.req.SetPosterNameReqDto;
import com.youlin.dto.req.UpdAMStatusReqDto;
import com.youlin.dto.res.AppointmentResDto;
import com.youlin.entities.BygAdmin;
import com.youlin.entities.BygAppointment;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

public interface BygAppointmentService extends IService<BygAppointment> {

    PageDataResDto<List<AppointmentResDto>> findAllAppointments(BygAdmin currentAdmin, FindAllAmReqDto data, PageInfo pageInfo);

    BaseResDto<Status, String> delAppointment(Integer amId);

    BaseResDto<Status, String> editAppointment(BygAdmin currentAdmin, EditAMReqDto data);

    BaseResDto<Status, String> updAMStatus(UpdAMStatusReqDto data);

    void cleanAllCache(String amUuId);

    BaseDataResDto<Boolean> isNeedLogin(String amUuId);

    BaseResDto<Status, String> addAppointment(BygAdmin currentAdmin, EditAMReqDto data);

    BygAppointment findAppointmentByUuId (String amUuId);

    String getAmUuIdByDmId(Integer dmId);

    BaseResDto<Status, String> manageAm(Integer managerId, Integer amId);

    BaseDataResDto<String> setPosterName(SetPosterNameReqDto data);

    BaseDataResDto<String> getAmBase64(String url);

}
